CREATE TABLE [dbo].[GroupMember]
(
[GroupMemberKey] [uniqueidentifier] NOT NULL CONSTRAINT [DF_GroupMember_GroupMemberKey] DEFAULT (newid()),
[GroupKey] [uniqueidentifier] NOT NULL,
[MemberContactKey] [uniqueidentifier] NOT NULL,
[IsActive] [bit] NOT NULL CONSTRAINT [DF_GroupMember_IsActive] DEFAULT ((1)),
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[CreatedOn] [datetime] NOT NULL CONSTRAINT [DF_GroupMember_CreatedOn] DEFAULT (getdate()),
[UpdatedByUserKey] [uniqueidentifier] NOT NULL,
[UpdatedOn] [datetime] NOT NULL CONSTRAINT [DF_GroupMember_UpdatedOn] DEFAULT (getdate()),
[DropDate] [datetime] NULL,
[JoinDate] [datetime] NULL,
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[GroupMember] ADD CONSTRAINT [PK_GroupMember] PRIMARY KEY CLUSTERED ([GroupMemberKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GroupMember_CreatedByUserKey] ON [dbo].[GroupMember] ([CreatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GroupMember_GroupKey] ON [dbo].[GroupMember] ([GroupKey]) INCLUDE ([GroupMemberKey], [MemberContactKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GroupMember_MemberContactKey] ON [dbo].[GroupMember] ([MemberContactKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GroupMember_UpdatedByUserKey] ON [dbo].[GroupMember] ([UpdatedByUserKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[GroupMember] ADD CONSTRAINT [FK_GroupMember_ContactMain_Member] FOREIGN KEY ([MemberContactKey]) REFERENCES [dbo].[ContactMain] ([ContactKey])
GO
ALTER TABLE [dbo].[GroupMember] ADD CONSTRAINT [FK_GroupMember_GroupMain] FOREIGN KEY ([GroupKey]) REFERENCES [dbo].[GroupMain] ([GroupKey])
GO
ALTER TABLE [dbo].[GroupMember] ADD CONSTRAINT [FK_GroupMember_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[GroupMember] ADD CONSTRAINT [FK_GroupMember_UserMain_UpdatedBy] FOREIGN KEY ([UpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
GRANT SELECT ON [dbo].[GroupMember] TO [IMIS]
GO